1. Field of the Invention
The present invention relates to managing computer clusters.
2. Description of the Related Art
Computer clusters are groups of processors that work in concert to undertake various tasks by hosting software applications that execute the tasks. For instance, a first cluster of computers might support one or more Web crawlers to undertake crawler functions, such as crawling the Internet, whereas a second cluster might support one or more indexers that index the information obtained from the crawlers. Still a third cluster might host one or more data miners that exploit the indices produced by the indexers to mine data from the crawled pages, and so on.
As recognized herein, plural clusters might exist in a single enterprise. For example, in the above hypothetical a Web site search engine might employ all three clusters. The present invention further recognizes that, as in the above example, the clusters might be heterogenous, i.e., each cluster hosts its own type of application and thus has its own unique characteristics.
In clustered computing, it is often necessary to manage processor workload and data storage among the computers in the cluster, to avoid load imbalance and to optimize performance. That is, it is often the case that a cluster controller must cause one processor to assume work from another, more heavily loaded processor, or for a data storage component of a cluster to reallocate storage tasks among several disks to maintain balanced capacity. The present invention recognizes that the rules for cluster management typically vary depending on the cluster type. Thus, a one-size-fits-all approach to applying rules for cluster management is not feasible for heterogenous clusters, particularly clusters that can evolve over time. Accordingly, the present invention recognizes a need for a method and system for implementing cluster management rules for plural, heterogenous clusters that is flexible and effective.